// 声明一个变量a，同时指定它的类型为Number，以后只能为Number
let a: number
// a = 'Hello'   // 此行代码报错，变量a类型为Number，不能赋值字符串

let c: boolean = true
// 如果变量的声明和赋值是同时进行的，TS可以自动对变量进行类型检测
let b = true

// JS中的函数是不考虑参数的类型和个数的
// function sum(a, b) {
//     return a + b
// }
//
// sum(123, 456)   // 579
// sum(123, "456") // "123456"

// TS
// function sum(a:number, b:number) {
//     return a + b
// }
// sum(123, 456)   // 579
// sum(123, "456") // "123456"  TS编译器提示报错，类型不符
// sum(123, 456, 789) // "123456"  TS编译器提示报错，传递参数数量

// TS
function sum(a: number, b: number): number {   //  { 前的number代表此方法返回值的类型
    return a + b
}